]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
build: Do not require appstream-util for metainfo version check
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 21 Oct 2024 00:33:33 +0000 (02:33 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 23 Nov 2024 12:13:39 +0000 (13:13 +0100)
appstream-util is deprecated in favor of appstreamcli. The new tool
does not have a `validate-version` command, so implement the check
in directly in the check-version.py script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>
(cherry picked from commit 7405f7c360dad7f50511f3d71a30e16b849dd1cc)

meson/check-version.py
subprojects/extensions-app/meson.build

index 81750c990dc1da8706cbeb8a08d9613221193456..c24ab41b4a27c2dde357b3a5a182044df74047cf 100755 (executable)
@@ -2,7 +2,8 @@
 
 import os, sys
 from pathlib import Path
-import argparse, subprocess
+from xml.etree.ElementTree import ElementTree
+import argparse
 
 def check_version(version, file, type='news'):
     if type == 'news':
@@ -12,8 +13,11 @@ def check_version(version, file, type='news'):
         if not ok:
             raise Exception("{} does not start with {}".format(file, version))
     elif type == 'metainfo':
-        subprocess.run(['appstream-util', 'validate-version', file, version],
-                       check=True)
+        query = './releases/release[@version="{}"]'.format(version)
+        ok = ElementTree(file=file).find(query) is not None
+        print("{}: {}".format(file, "OK" if ok else "FAILED"))
+        if not ok:
+            raise Exception("{} does not contain release {}".format(file, version))
     else:
         raise Exception('Not implemented')
 
index 1ddd31a837c6998c183a0b7e6c36a0a095f16d76..0f5ace7b6d62e037e40f59dcebcee4f293ac5c10 100644 (file)
@@ -69,12 +69,10 @@ if not meson.is_subproject()
     gtk_update_icon_cache: true
   )
 
-  if appstream_util.found()
-    meson.add_dist_script('build-aux/meson/check-version.py',
-      meson.project_version(),
-      '--type=metainfo',
-      'data/metainfo/org.gnome.Extensions.metainfo.xml.in')
-  endif
+  meson.add_dist_script('build-aux/meson/check-version.py',
+    meson.project_version(),
+    '--type=metainfo',
+    'data/metainfo/org.gnome.Extensions.metainfo.xml.in')
 
   summary_dirs = {
     'prefix': get_option('prefix'),